Return to start page
Systems/Gui/Struct Text.j
1 library AStructSystemsGuiText requires ALibraryCoreInterfaceTextTag, AStructSystemsGuiWidget
2
3 struct AText extends AWidget
4 //dynamic members
5 private real m_heightOffset
6 private string m_text
7 private real m_size
8 private integer m_red
9 private integer m_green
10 private integer m_blue
11 private integer m_alpha
12 private real m_speed
13 private real m_angle
14 private real m_fadepoint
15 private boolean m_suspended //Unterbrochen
16 //private boolean permanent //Textes are always permanent
17 //private real lifespan //Textes are always permanent
18 //private real age
19 //Don't change permanent
20 //members
21 private texttag m_textTag
22
23 //dynamic members
24
25 //Do not change x and y
26 //These values are always static!
27 public method setHeightOffset takes real heightOffset returns nothing
28 set this.m_heightOffset = heightOffset
29 call SetTextTagPos(this.m_textTag, this.mainWindow().getX(this.x()), this.mainWindow().getY(this.y()), heightOffset)
30 endmethod
31
32 public method heightOffset takes nothing returns real
33 return this.m_heightOffset
34 endmethod
35
36 //We don't need SetTextTagPosUnit.
37 //It's a GUI...
38
39 public method setTextAndSize takes string text, real size returns nothing
40 set this.m_text = text
41 set this.m_size = size
42 call SetTextTagTextBJ(this.m_textTag, text, size)
43 endmethod
44
45 public method text takes nothing returns string
46 return this.m_text
47 endmethod
48
49 public method size takes nothing returns real
50 return this.m_size
51 endmethod
52
53 public method setColour takes integer red, integer green, integer blue, integer alpha returns nothing
54 set this.m_red = red
55 set this.m_green = green
56 set this.m_blue = blue
57 set this.m_alpha = alpha
58 call SetTextTagColor(this.m_textTag, red, green, blue, alpha)
59 endmethod
60
61 public method red takes nothing returns integer
62 return this.m_red
63 endmethod
64
65 public method green takes nothing returns integer
66 return this.m_green
67 endmethod
68
69 public method blue takes nothing returns integer
70 return this.m_blue
71 endmethod
72
73 public method alpha takes nothing returns integer
74 return this.m_alpha
75 endmethod
76
77 public method setSpeedAndAngle takes real speed, real angle returns nothing
78 set this.m_speed = speed
79 set this.m_angle = angle
80 call SetTextTagVelocityBJ(this.m_textTag, speed, angle)
81 endmethod
82
83 public method speed takes nothing returns real
84 return this.m_speed
85 endmethod
86
87 public method angle takes nothing returns real
88 return this.m_angle
89 endmethod
90
91 public method setFadepoint takes real fadepoint returns nothing
92 set this.m_fadepoint = fadepoint
93 call SetTextTagFadepoint(this.m_textTag, fadepoint)
94 endmethod
95
96 public method fadepoint takes nothing returns real
97 return this.m_fadepoint
98 endmethod
99
100 //Unterbricht die Bewegung.
101 public method setSuspended takes boolean suspended returns nothing
102 set this.m_suspended = suspended
103 call SetTextTagSuspended(this.m_textTag, suspended)
104 endmethod
105
106 public method suspended takes nothing returns boolean
107 return this.m_suspended
108 endmethod
109
110 //methods
111
112 public stub method show takes nothing returns nothing
113 call super.show()
114 call ShowTextTagForPlayer(this.user(), this.m_textTag, true)
115 endmethod
116
117 public stub method hide takes nothing returns nothing
118 call super.hide()
119 call ShowTextTagForPlayer(this.user(), this.m_textTag, false)
120 endmethod
121
122 public static method create takes AMainWindow mainWindow, real x, real y, real sizeX, real sizeY, AWidgetOnHitAction onHitAction, AWidgetOnTrackAction onTrackAction returns AText
123 local AText this = AText.allocate(mainWindow, x, y, sizeX, sizeY, onHitAction, onTrackAction)
124 //dynamic members
125 set this.m_heightOffset = 0.0
126 //members
127 set this.m_textTag = CreateTextTag()
128 call SetTextTagPos(this.m_textTag, mainWindow.getX(x), mainWindow.getY(y), this.m_heightOffset) //Members x and y were set in the allocate method.
129 call SetTextTagVisibility(this.m_textTag, false)
130
131 return this
132 endmethod
133
134 public method onDestroy takes nothing returns nothing
135 //members
136 call DestroyTextTag(this.m_textTag)
137 set this.m_textTag = null
138 endmethod
139 endstruct
140
141 endlibrary